[BLKTAP] fix race between ufe_ring and blk_ring in blktap.c
authorJake Wires <jwires@xensource.com>
Fri, 17 Nov 2006 02:47:28 +0000 (18:47 -0800)
committerJake Wires <jwires@xensource.com>
Fri, 17 Nov 2006 02:47:28 +0000 (18:47 -0800)
Signed-off-by: Jake Wires <jwires@xensource.com>
linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c

index 22ea35ae7e37142e1a3c95389cfa94e3b5628107..e0d898ab98ae0a19014a0bab1c20824484d41938 100644 (file)
@@ -1059,9 +1059,9 @@ static int blktap_read_ufe_ring(tap_blkif_t *info)
                        map[offset] = NULL;
                }
                fast_flush_area(pending_req, pending_idx, usr_idx, info->minor);
+               info->idx_map[usr_idx] = INVALID_REQ;
                make_response(blkif, pending_req->id, res.operation,
                              res.status);
-               info->idx_map[usr_idx] = INVALID_REQ;
                blkif_put(pending_req->blkif);
                free_req(pending_req);
        }